logo头像
Snippet 博客主题

3.2 路由

本文于572天之前发表,文中内容可能已经过时。

1 添加简单路由

1
2
3
4
5
6
7
8
9
10
11
12
const express = require('express')
const app = express()

app.get('/', function (req, res) {
res.send('hello, express')
})

app.get('/users/:name', function (req, res) {
res.send('hello, ' + req.params.name)
})

app.listen(3000)

以上代码的意思是:
当访问根路径时,依然返回 hello, express,
当访问如 localhost:3000/users/nswbmw 路径时,返回 hello, nswbmw。
路径中 :name 起了占位符的作用,这个占位符的名字是 name,可以通过 req.params.name 取到实际的值。

req.query: 解析后的 url 中的 querystring,如 ?name=haha,req.query 的值为 {name: ‘haha’}
req.params: 解析 url 中的占位符,如 /:name,访问 /haha,req.params 的值为 {name: ‘haha’}
req.body: 解析后请求体,需使用相关的模块,如 body-parser,请求体为 {“name”: “haha”},则 req.body 为 {name: ‘haha’}

express.Router

index.js

1
2
3
4
5
6
7
8
9
const express = require('express')
const app = express()
const indexRouter = require('./routes/index')
const userRouter = require('./routes/users')

app.use('/', indexRouter)
app.use('/users', userRouter)

app.listen(3000)

routes/index.js

1
2
3
4
5
6
7
8
const express = require('express')
const router = express.Router()

router.get('/', function (req, res) {
res.send('hello, express')
})

module.exports = router

routes/users.js

1
2
3
4
5
6
7
8
const express = require('express')
const router = express.Router()

router.get('/', function (req, res) {
res.send('hello, express')
})

module.exports = router
支付宝打赏 微信打赏

打赏